import { reqGoodsInfo, reqAddOrUpdataShopcart } from "../../api"
const actions = {
    // 获取产品信息
    async goodsInfo(context, skuId) {
        let result = await reqGoodsInfo(skuId);
        if (result.code == 200) {
            context.commit("GOODSINFO", result.data)
        }
    },
    // 将产品添加到购物车
    async addOrUpdateShopCart(context, { skuId, skuNum }) {
        // 加入购物车以后（发请求），前台将参数带给服务器
        // 服务器写入数据成功，并没有返回其他的数据，只是返回code=200，代表这次操作成功
        // 因为服务器没有返回其余数据，因此不需要三连环存储数据
        let result = await reqAddOrUpdataShopcart(skuId, skuNum);
        if (result.code == 200) {
            return "ok"
        } else {
            return Promise.reject(new Error("faile"))
        }
    },
}
const mutations = {
    GOODSINFO(state, goodInfo) {
        state.goodInfo = goodInfo
    }
}
const state = {
    goodInfo: {}
}
const getters = {
    categoryView(state) {
        return state.goodInfo.categoryView || {};
    },
    skuInfo(state) {
        return state.goodInfo.skuInfo || {};
    },
    spuSaleAttrList(state) {
        return state.goodInfo.spuSaleAttrList || {};
    }
}

export default {
    actions,
    mutations,
    state,
    getters
}